This invention relates generally to a numerical control system for moving members of a machine in a manner and synchronism determined by computer interpretation of input commands more specifically to a control system for an animation stand.
Contouring controls typically consist of one or more interpolators, a timing source, and a data processor. The interpolators move one or more machine members by controlling the motors which power those members. The interpolators use a timing source for determining machine motion vebcities. The data processor reads motion command data from a digital medium and outputs this data to the interpolators and timing source.
Inexpensive contouring controls interpolators use digital differential analyzers or rate multipliers. These electronic devices produce pulse trains which control stepping motors or position servos. The data processor reads the digital medium, typically a paper tape, and, with a minimum of processing, passes the control data to the interpolator(s) and the timer. Expensive contouring controls use computers to process the input data, often combining that data with manually entered information such as cutter size. The computer then controls the interpolator(s). Since the computer can provide data at much higher rates than a paper tape reader, the computer controlled interpolator is generally linear. A linear interpolator can approximate a wide variety of curves, but it must be closely supervised by the computer. This close supervision requires a large amount of computer processing thereby leaving little for data analysis.
An object of this invention is to provide an interpolator which requires little computer attention, thereby freeing the computer for more complex contouring data analysis.
Another object is to provide an interpolator which allows the use of less expensive computers without sacrificing speed or accuracy.
Stepping motors are often used in control systems for their open-loop simplicity and low-cost. Stepping motors in contouring systems are powered by electronic drivers. These drivers are responsive to pulse trains such as those produced by digital differential analyzers or rate multipliers. Examples of this art are Cutler (3,864,613), Leenhouts (3,525,917), Motooka (3,416,056), Herchenroeder (3,148,316), and Okamoto (3,634,667).
Stepping motors have an undesirable characteristic, they exhibit an underdamped response. This response can produce rough motion and at some frequencies even uncontrolled motion. This bad characteristic is further aggrevated by the inconsistant pulse rate produced by rate multipliers. This undesirable characteristic can be reduced to virtual elimination by electronically dividing the motor's natural step into many small steps. These small steps also increase the resolution of the stepping motor significantly. Examples of this art are my U.S. Pat. Nos. 4,087,732 and 4,100,471.
A problem in controlling high resolution stepping motors with digital differential analyzers or rate multipliers is the high pulse rates which the timing source or feed rate generator must produce. The pulse rates are greatest when a short move must be executed at a high rate or in a very small time. This condition is created by the rate multiplier which requires a fixed number of timing pulses per machine movement.
An object of this invention is to incorporate the fractional step stepping motor drivers in a contouring control. A further object is an interpolator which can operate at acceptable data rates.
A particular application of this invention is to operate an animation stand. An animation stand is photographic equipment for filming two-dimensional artwork such as cartoons, titles, paintings, or photographs. A typical use of the animation stand is filming a documentary of an artists paintings. A full frame film of a commentator pointing to areas of interest does not have the impact of close-up films of those areas. The typical animation stand film shows the picture full frame; then zooms, pans, and tilts to and through the areas of interest; and finally zooms out to the full frame view. These film motions are generally linear since linear motions are simplest to compute. However, linear motions appear jerky at the corners of the linear motions. Continuous graceful motions are much more artistic.
Examples of animation stand control systems of the prior art are U.S. Pat. Nos. 3,415,600 to Yarbrough and 3,690,747 and 3,817,609 to Vaughn. Yarbrough disclosed an animation stand control similar to controllers for stepping motor operation of machine tools wherein the incremental motion commands in stepping motor steps are read from a paper tape. This, of course, requires the laborous preparation of the paper tape. Vaughn recognized this data processing chore and replaced Yarbrough's paper tape input with a computer which not only received the command data from an operator but also allowed the operator to communicate to the system in an absolute coordinate system instead of an incremental one.
This approach is not the thrust of the animation stand application of the present system, although it is valid for a machine tool. The object of the present system is to provide a system which uses itself to measure and record the positions of important points on the art work. The operator must point out these points by manipulating the manual controls and must enter the time for frame number associated with that point. However, unlike the prior art, the operator need not enter position data in any form, incremental or absolute, for example.
Further unlike the prior art, the present system is a system for controlling an animation stand by manual controls wherein the computer samples and stores the animation stand operation for later alteration and playback. Neither Yarbrough nor Vaughn suggest such a system.
An object of this invention is an animation stand control system which minimizes the mathematical or measuring tasks required of the operator and which maximizes the use of the data and computing capability built into the system.
Unlike other numerical control applications, the programs for an animation stand are used very few times. The move can easily be more complex than those found in numerical control machines. Furthermore, the personnel operating a numerically controlled animation stand are not so mathematically oriented as their machine tool counterparts.
Another object of this invention is to provide an interpolator which can accept manual control along arbitrary paths, a computer with a memory for recording the manual motions, and a combination of the interpolator and computer which can reproduce these moves. A further object of this invention is to create motion control from combinations of manual control data and previous manual control or numeric control data.
An even further object of this invention is to provide an interpolator which interpolates along curves defined by high order polynomials or complex functions.
A still even further object is to provide a high order polynomial interpolator which can be implemented completely by hardware, by a general purpose computer or by a specifically designed microprocessor.
A numerical control system presented by McGee, U.S. Pat. No. 3,656,124 uses a computer to control a linear interpolator. This interpolator divides its interpolation interval into a fixed number of iterations. When the main computer realizes that the end of a contour command will fall in the middle of an interpolation interval, the main computer either increases or decreases the machine motion rates so that the end of a contour command coincides with the end of an interpolation interval.
An even further object of this invention is to provide a means for changing the number of iterations per interpolation to avoid unnecessarily changing machine motion rates.
Numerical controllers or numerically controlled drivers to be effective must carry out two classes of operations at two different speeds. Interpolation and control of the servo system must be carried out at a high rate of speed in the order of microseconds whereas the handling of command data and preparing the same for processing in the interpolators may be carried out at a relatively low rate in the order of milliseconds. It has recently been economically feasible to use a small sized digital computer, for example, a mini-computer or microcomputer as a numerical control device. Since computers sequentially deal with various data according to a program and the rates of these computers are generally slow in contrast to the numerical control system, the system is only capable of course interpolation or the use of additional hardware circuitry such as linear interpolators to carry out the interpolation and control of servo functions. One solution to this problem presented by the prior art is to use two computers having different instruction execution time. In U.S. Pat. No. 4,118,771 to Pomella, et al., a first micro-processor having an execution time in the microseconds is used for general data handling whereas a second microprogrammed computer has an execution time in the range of 250 nanoseconds. The second computer is capable of handling complex calculations in real time, at a high rate in order to exploit the characteristics of the servo mechanism. The second computer could be considered a sophisticated arithmatical logic unit since the results are handled and communicated to the servo mechanism by the first computer. Thus, the speed of the second computer is compromised since it can only communicate with the servo mechanism through the first computer and consequently, the first computer uses valuable time in management of the second computer and the overall system.
Another approach using a single computer is described in U.S. Pat. No. 4,118,776 to Isomura. In this patent, two programs operate at two rates of speed, one in the millisecond range, and second in the microsecond range. The programs are interreliefed as are the computers of the Pomella, et al., patent consequently have the same deficiencies.
Thus it is an object of the present invention to provide two computers capable of independent operation to make maximum advantage of their maximum speeds.